Red Hat System Administration II 8.2

Упражнение под руководством преподавателя: Поиск образов контейнеров и управление ими

В этом упражнении вы будете использовать podman для извлечения, администрирования и удаления образов контейнеров на сервере.

Результаты

Вы сможете находить, извлекать, просматривать и удалять образы контейнеров, полученные из удаленного реестра контейнеров и сохраненные на сервере.

На машине workstation выполните команду lab containers-managing start. Эта команда запускает подготовительный сценарий, который проверяет доступность машины servera в сети. Она также проверяет и настраивает реестр контейнеров и обеспечивает хранение в нем образа контейнера, используемого для этого упражнения.

[student@workstation ~]$ lab containers-managing start

Процедура 13.2. Инструкции

  1. С помощью команды ssh войдите на машину servera как пользователь student. Системы настроены на использование ключей SSH для аутентификации, поэтому пароль не требуется.

    [student@workstation ~]$ ssh student@servera
    ...output omitted...
    [student@servera ~]$ 
  2. Отобразите файл конфигурации реестров контейнеров и просмотрите настроенные реестры.

    [student@servera ~]$ cat /home/student/.config/containers/registries.conf
    unqualified-search-registries = ['registry.lab.example.com']
    
    [[registry]]
    location = "registry.lab.example.com"
    insecure = true
    blocked = false
  3. С помощью команды podman search найдите в реестре образы, имена которых начинаются на «ubi».

    [student@servera ~]$ podman search registry.lab.example.com/ubi
    INDEX         NAME                            DESCRIPTION   STARS   OFFICIAL
    example.com   registry.lab.example.com/ubi7/ubi           0
    example.com   registry.lab.example.com/ubi8/ubi           0                  
  4. Войдите в реестр контейнеров с помощью команды podman login.

    [student@servera ~]$ podman login registry.lab.example.com
    Username: admin
    Password: redhat321
    Login Succeeded!
  5. С помощью команды skopeo inspect просмотрите сведения об образе в реестре, прежде чем загружать его.

    Следующая команда skopeo inspect очень длинная, и ее необходимо вводить в одной строке:

    [student@servera ~]$ skopeo inspect docker://registry.lab.example.com/rhel8/httpd-24
    ...output omitted...
            "Config": {
                "User": "1001",
                "ExposedPorts": {
                    "8080/tcp": {},
                    "8443/tcp": {}
                },
                "Env": [
                    "PATH=/opt/app-root/src/bin:/opt/app-root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                    "container=oci",
                    "SUMMARY=Platform for running Apache httpd 2.4 or building httpd-based application",
                    "DESCRIPTION=Apache httpd 2.4 available as container, is a powerful, efficient, and extensible web server. Apache supports a variety of features, many implemented as compiled modules which extend the core functionality. These can range from server-side programming language support to authentication schemes. Virtual hosting allows one Apache installation to serve many different Web sites.",
                    "STI_SCRIPTS_URL=image:///usr/libexec/s2i",
                    "STI_SCRIPTS_PATH=/usr/libexec/s2i",
                    "APP_ROOT=/opt/app-root",
                    "HOME=/opt/app-root/src",
                    "PLATFORM=el8",
                    "HTTPD_VERSION=2.4",
                    "HTTPD_CONTAINER_SCRIPTS_PATH=/usr/share/container-scripts/httpd/",
                    "HTTPD_APP_ROOT=/opt/app-root",
                    "HTTPD_CONFIGURATION_PATH=/opt/app-root/etc/httpd.d",
                    "HTTPD_MAIN_CONF_PATH=/etc/httpd/conf",
                    "HTTPD_MAIN_CONF_MODULES_D_PATH=/etc/httpd/conf.modules.d",
                    "HTTPD_MAIN_CONF_D_PATH=/etc/httpd/conf.d",
                    "HTTPD_TLS_CERT_PATH=/etc/httpd/tls",
                    "HTTPD_VAR_RUN=/var/run/httpd",
                    "HTTPD_DATA_PATH=/var/www",
                    "HTTPD_DATA_ORIG_PATH=/var/www",
                    "HTTPD_LOG_PATH=/var/log/httpd"
                ],
                "Entrypoint": [
                    "container-entrypoint"
                ],
                "Cmd": [
                    "/usr/bin/run-httpd"
                ],
                "WorkingDir": "/opt/app-root/src",
    ...output omitted...
    
  6. С помощью команды podman pull извлеките образ контейнера из реестра.

    [student@servera ~]$ podman pull registry.lab.example.com/rhel8/httpd-24
    Trying to pull registry.lab.example.com/rhel8/httpd-24...
    Getting image source signatures
    Copying blob 77c58f19bd6e done
    Copying blob 47db82df7f3f done
    Copying blob 9d20433efa0c done
    Copying blob 71391dc11a78 done
    Copying config 7e93f25a94 done
    Writing manifest to image destination
    Storing signatures
    7e93f25a946892c9c175b74a0915c96469e3b4845a6da9f214fd3ec19c3d7070
  7. С помощью команды podman images просмотрите локально сохраненные образы.

    [student@servera ~]$ podman images
    REPOSITORY                              TAG     IMAGE ID      CREATED      SIZE
    registry.lab.example.com/rhel8/httpd-24 latest  7e93f25a9468  4 weeks ago  430 MB
  8. С помощью команды podman inspect просмотрите сведения о локально сохраненном образе.

    [student@servera ~]$ podman inspect registry.lab.example.com/rhel8/httpd-24
    ...output omitted...
            "Config": {
                "User": "1001",
                "ExposedPorts": {
                    "8080/tcp": {},
                    "8443/tcp": {}
                },
                "Env": [
                    "PATH=/opt/app-root/src/bin:/opt/app-root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                    "container=oci",
                    "SUMMARY=Platform for running Apache httpd 2.4 or building httpd-based application",
                    "DESCRIPTION=Apache httpd 2.4 available as container, is a powerful, efficient, and extensible web server. Apache supports a variety of features, many implemented as compiled modules which extend the core functionality. These can range from server-side programming language support to authentication schemes. Virtual hosting allows one Apache installation to serve many different Web sites.",
                    "STI_SCRIPTS_URL=image:///usr/libexec/s2i",
                    "STI_SCRIPTS_PATH=/usr/libexec/s2i",
                    "APP_ROOT=/opt/app-root",
                    "HOME=/opt/app-root/src",
                    "PLATFORM=el8",
                    "HTTPD_VERSION=2.4",
                    "HTTPD_CONTAINER_SCRIPTS_PATH=/usr/share/container-scripts/httpd/",
                    "HTTPD_APP_ROOT=/opt/app-root",
                    "HTTPD_CONFIGURATION_PATH=/opt/app-root/etc/httpd.d",
                    "HTTPD_MAIN_CONF_PATH=/etc/httpd/conf",
                    "HTTPD_MAIN_CONF_MODULES_D_PATH=/etc/httpd/conf.modules.d",
                    "HTTPD_MAIN_CONF_D_PATH=/etc/httpd/conf.d",
                    "HTTPD_TLS_CERT_PATH=/etc/httpd/tls",
                    "HTTPD_VAR_RUN=/var/run/httpd",
                    "HTTPD_DATA_PATH=/var/www",
                    "HTTPD_DATA_ORIG_PATH=/var/www",
                    "HTTPD_LOG_PATH=/var/log/httpd"
                ],
                "Entrypoint": [
                    "container-entrypoint"
                ],
                "Cmd": [
                    "/usr/bin/run-httpd"
                ],
                "WorkingDir": "/opt/app-root/src",
    ...output omitted...
  9. С помощью команды podman rmi удалите локально сохраненный образ.

    [student@servera ~]$ podman rmi registry.lab.example.com/rhel8/httpd-24
    Untagged: registry.lab.example.com/rhel8/httpd-24:latest
    Deleted: 7e93...7070
  10. Выполните команду podman images, чтобы убедиться, что локально сохраненный образ был удален.

    [student@servera ~]$ podman images
    REPOSITORY   TAG   IMAGE ID   CREATED   SIZE
  11. Выйдите с servera.

    [student@servera ~]$ exit
    logout
    Connection to servera closed.
    [student@workstation ~]$ 

Конец

На машине workstation запустите сценарий lab containers-managing finish, чтобы закончить это упражнение.

[student@workstation ~]$ lab containers-managing finish

Упражнение завершено.